package beans.backing;

import beans.model.Candidato;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ManagedProperty;
import javax.faces.bean.RequestScoped;
import javax.faces.context.FacesContext;

@ManagedBean
@RequestScoped
public class VacanteForm {
    @ManagedProperty(value = "#{candidato}")
    private Candidato candidato;

    public VacanteForm() {
    }

    public Candidato getCandidato() {
        return candidato;
    }

    public void setCandidato(Candidato candidato) {
        this.candidato = candidato;
    }

    //método de flujo de control
    public String enviar() {
        System.out.println("enviar() Nombre=" + this.candidato.getNombre());
        System.out.println("enviar() Apellido=" + this.candidato.getApellido());
        System.out.println("enviar() Sueldo deseado=" + this.candidato.getSueldoDeseado());
        System.out.println("enviar() Fecha Nacimiento=" + this.candidato.getFechaNacimiento());

        //validación interdependiente
        if (this.candidato.getNombre().equals("Omar")) {
            if (this.candidato.getApellido().equals("Balbuena")) {
                String msg = "Gracias, pero Omar Balbuena ya trabaja con nosotros.";
                FacesMessage facesMessage = new FacesMessage(FacesMessage.SEVERITY_ERROR, msg, msg);
                FacesContext facesContext = FacesContext.getCurrentInstance();
                String clientId = null; //Este es un mensaje global
                facesContext.addMessage(clientId, facesMessage);
                return "index";
            }
            return "correcto";   //correcto.xhtml
        }       

        return "incorrecto";     //incorrecto.xhtml
    }
}
